home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Popular Request
/
By Popular Request (Arsenal Computer)(SysOptics Distribution System).ISO
/
amiga2
/
jad30amy.lha
/
jade
/
lisp
/
c-mode.jlc
< prev
next >
Wrap
Text File
|
1994-04-20
|
2KB
|
31 lines
(provide (quote c-mode))
(defvar c-mode-tab 4 62277)
(defvar c-mode-auto-indent nil 62308)
(setq c-mode-keymap (make-keylist))
(bind-keys c-mode-keymap "return" (quote c-return) "shift-return" (quote split-line) "{" (quote c-open-brace) "}" (quote c-close-brace) ":" (quote c-colon) "tab" (quote c-indent-cursor) "meta-tab" (quote goto-next-tab))
(defun c-mode nil 62384 (lisp-code "\tH#%å&çêëKF&ë" [eval-hook c-mode-hook "c-mode" mode-name c-mode-kill major-mode-kill c-mode-tab screen-tab c-mode-keymap keymap-path] 2))
(defun c-mode-kill nil (lisp-code "I \nF#" [mode-name delq c-mode-keymap keymap-path] 3))
(defun c-return nil (lisp-code "H■ÇÿⁿÇô\t√Çÿå\t" [split-line c-mode-auto-indent empty-line-p goto c-indent-pos-empty set-indent-pos c-indent-pos] 2))
(defun c-open-brace nil (lisp-code "\tH\t" [insert "{" set-indent-pos c-indent-pos] 2))
(defun c-close-brace nil (lisp-code "\tH\t" [insert "}" set-indent-pos c-indent-pos] 2))
(defun c-colon nil (lisp-code "\tH\t" [insert ":" set-indent-pos c-indent-pos] 2))
(defun c-indent-pos (&optional line-pos) 62432 (lisp-code "\tF!HD\t3\t]■Ç╡å\nⁿÇúçê\n√Ç╡ë\nⁿÇ┤èê\n√Ç╡IHE" [line-start line-pos c-indent-pos-empty ind-pos empty-line-p regexp-match-line "^ *({|}|case .*:|default *:)" prev-tab 1 "^ *([a-zA-Z0-9_]*:|#)" set-pos-col] 3))
(defun c-indent-pos-empty (&optional line-pos) 62575 (lisp-code "\tF!HD\t\n5å\t Ç¢çê\n■Ǽ\n Ç¿ëH√ÇÄHDè\t6ïîïì\t\nHçÄ\nⁿÇ╨Åï\n√ü█çÉ\nⁿüÖ\nHå\t Çδçê\n■Çⁿ\n Ç°ëH√Ç▐Hçæ\n■üìçÆ\n]■üûôï\n√ü█çö\nⁿü╡çò\n ü▓ûùï\n√ü█çÿ\nⁿü╟Öï\n√ü█çò\nⁿü┌Öùï\n√ü█IHïEE" [line-start line-pos prev-line 1 dup-pos p-line-pos empty-line-p regexp-match-line "^([a-zA-Z0-9_]+:|#)" return indent-pos ind-pos set-pos-line pos-line "{|case .*:|default *:|do($| )|else|(if|for|while|switch) *\\(.*\\)" next-tab ";" "do($| )|else|(if|for|while|switch) *\\(.*\\)" " { *(/\\*.*\\*/|) *$" prev-tab "^ */\\*" "\\*/" right-char 3 "^ *\\*/ *$" left-char] 4))
(defun c-indent-lines (start-pos end-pos) (lisp-code "\tF!Hf■Ç¢\t\tHå\nH√Çå" [line-start start-pos end-pos set-indent-pos c-indent-pos next-line 1] 3))
(defun c-indent-cursor (&aux tmp) (lisp-code "ⁿÇÄ\t\t√Ç╣\t\tF&åHådⁿǺå\t√Ç╣çdⁿÇ╕ç\t√Ç╣I" [empty-line-p goto c-indent-pos-empty cursor-pos set-indent-pos c-indent-pos tmp line-end] 3))